Skip to content

Package distribution + installer + hardened Daytona/OpenCode E2E#11

Closed
anand-testcompare wants to merge 4 commits intomainfrom
feat/package-e2e-hardening
Closed

Package distribution + installer + hardened Daytona/OpenCode E2E#11
anand-testcompare wants to merge 4 commits intomainfrom
feat/package-e2e-hardening

Conversation

@anand-testcompare
Copy link
Contributor

Summary

  • add GitHub Packages publication workflow and post-publish install verification
  • expand CI to build tarball artifacts and run package-install E2E from those artifacts
  • add guided setup CLI and bootstrap installer script for new-machine installs
  • add shared shpit config/env loading plus Obsidian catalog integration (strict 2026-02-27 07:12:44 Loading updated app package /home/anandpant/.config/obsidian/obsidian-1.12.4.asar
    2026-02-27 07:12:44 Checking for update using Github
    2026-02-27 07:12:44 Success.
    2026-02-27 07:12:44 Latest version is 1.12.4 (insider)
    2026-02-27 07:12:44 App is up to date.
    2026-02-27 08:12:44 Checking for update using Github
    2026-02-27 08:12:44 Success.
    2026-02-27 08:12:44 Latest version is 1.12.4 (insider)
    2026-02-27 08:12:44 App is up to date.
    2026-02-27 09:12:44 Checking for update using Github
    2026-02-27 09:12:44 Success.
    2026-02-27 09:12:44 Latest version is 1.12.4 (insider)
    2026-02-27 09:12:44 App is up to date.
    2026-02-27 10:12:44 Checking for update using Github
    2026-02-27 10:12:44 Success.
    2026-02-27 10:12:44 Latest version is 1.12.4 (insider)
    2026-02-27 10:12:44 App is up to date.
    2026-02-27 20:12:10 Checking for update using Github
    2026-02-27 20:12:11 Success.
    2026-02-27 20:12:11 Latest version is 1.12.4 (insider)
    2026-02-27 20:12:11 App is up to date.
    2026-02-27 21:12:10 Checking for update using Github
    2026-02-27 21:12:11 Success.
    2026-02-27 21:12:11 Latest version is 1.12.4 (insider)
    2026-02-27 21:12:11 App is up to date.
    2026-02-27 22:12:11 Checking for update using Github
    2026-02-27 22:12:11 Success.
    2026-02-27 22:12:11 Latest version is 1.12.4 (insider)
    2026-02-27 22:12:11 App is up to date.
    2026-02-27 23:52:12 Checking for update using Github
    2026-02-27 23:52:12 Success.
    2026-02-27 23:52:12 Latest version is 1.12.4 (insider)
    2026-02-27 23:52:12 App is up to date.
    Received command line []
    Ignored: Error: ENOENT: no such file or directory, open '/home/anandpant/.config/obsidian/3324abea63f19178.json'
    2026-02-28 00:52:12 Checking for update using Github
    2026-02-28 00:52:12 Success.
    2026-02-28 00:52:12 Latest version is 1.12.4 (insider)
    2026-02-28 00:52:12 App is up to date.
    2026-02-28 01:52:12 Checking for update using Github
    2026-02-28 01:52:13 Success.
    2026-02-28 01:52:13 Latest version is 1.12.4 (insider)
    2026-02-28 01:52:13 App is up to date.
    2026-02-28 02:52:12 Checking for update using Github
    2026-02-28 02:52:13 Success.
    2026-02-28 02:52:13 Latest version is 1.12.4 (insider)
    2026-02-28 02:52:13 App is up to date.
    2026-02-28 03:52:12 Checking for update using Github
    2026-02-28 03:52:13 Success.
    2026-02-28 03:52:13 Latest version is 1.12.4 (insider)
    2026-02-28 03:52:13 App is up to date.
    2026-02-28 04:52:12 Checking for update using Github
    2026-02-28 04:52:13 Success.
    2026-02-28 04:52:13 Latest version is 1.12.4 (insider)
    2026-02-28 04:52:13 App is up to date.
    2026-02-28 05:52:13 Checking for update using Github
    2026-02-28 05:52:13 Success.
    2026-02-28 05:52:13 Latest version is 1.12.4 (insider)
    2026-02-28 05:52:13 App is up to date. command guard)
  • add analyze model resolver defaults for ZAI coding-plan + vision model routing
  • harden Daytona OpenCode execution:
    • fallback from bun add v1.3.8 (b64edcb4)

Usage: bun add [flags] <@Version>
Alias: bun a

Add a new dependency to package.json and install it.

Flags:
-c, --config= Specify path to config file (bunfig.toml)
-y, --yarn Write a yarn.lock file (yarn v1)
-p, --production Don't install devDependencies
--no-save Don't update package.json or save a lockfile
--save Save to package.json (true by default)
--ca= Provide a Certificate Authority signing certificate
--cafile= The same as --ca, but is a file path to the certificate
--dry-run Perform a dry run without making changes
--frozen-lockfile Disallow changes to lockfile
-f, --force Always request the latest versions from the registry & reinstall all dependencies
--cache-dir= Store & load cached data from a specific directory path
--no-cache Ignore manifest cache entirely
--silent Don't log anything
--quiet Only show tarball name when packing
--verbose Excessively verbose logging
--no-progress Disable the progress bar
--no-summary Don't print a summary
--no-verify Skip verifying integrity of newly downloaded packages
--ignore-scripts Skip lifecycle scripts in the project's package.json (dependency scripts are never run)
--trust Add to trustedDependencies in the project's package.json and install the package(s)
-g, --global Install globally
--cwd= Set a specific cwd
--backend= Platform-specific optimizations for installing dependencies. Possible values: "hardlink" (default), "symlink", "copyfile"
--registry= Use a specific registry by default, overriding .npmrc, bunfig.toml and environment variables
--concurrent-scripts= Maximum number of concurrent jobs for lifecycle scripts (default 5)
--network-concurrency= Maximum number of concurrent network requests (default 48)
--save-text-lockfile Save a text-based lockfile
--omit= Exclude 'dev', 'optional', or 'peer' dependencies from install
--lockfile-only Generate a lockfile without installing dependencies
--linker= Linker strategy (one of "isolated" or "hoisted")
--minimum-release-age= Only install packages published at least N seconds ago (security feature)
--cpu= Override CPU architecture for optional dependencies (e.g., x64, arm64, * for all)
--os= Override operating system for optional dependencies (e.g., linux, darwin, * for all)
-h, --help Print this help menu
-d, --dev Add dependency to "devDependencies"
--optional Add dependency to "optionalDependencies"
--peer Add dependency to "peerDependencies"
-E, --exact Add the exact version instead of the ^range
-a, --analyze Recursively analyze & install dependencies of files passed as arguments (using Bun's bundler)
--only-missing Only add dependencies to package.json if they are not already present

Examples:
Add a dependency from the npm registry
bun add zod
bun add zod@next
bun add zod@3.0.0

Add a dev, optional, or peer dependency
bun add -d typescript
bun add --optional lodash
bun add --peer esbuild

Full documentation is available at https://bun.com/docs/cli/add. to npm when bun install is killed

  • remove deprecated usage; run from repo cwd instead
  • add tested command builders in
  • add Daytona workflow-dispatch live E2E job with compact defaults and env validation

Validation

  • Formatted 21 files in 5ms. No fixes applied.
  • Checked 21 files in 16ms. No fixes applied.
  • bun test v1.3.8 (b64edcb4) (13 passed)
  • package artifact E2E:

@shpitdev/opencode-sandboxed-ad-hoc-research@0.0.1 prepack
bun run build

shpitdev-opencode-sandboxed-ad-hoc-research-0.0.1.tgz

  • install tarball in clean project
  • run installed binaries
  • installer script E2E in fake HOME/prefix
  • live Daytona compact E2E success:

    • findings + index produced under

Notes

  • CI env wiring now includes , , and .
  • publish workflow uses () for GitHub Packages auth.

@anand-testcompare
Copy link
Contributor Author

Superseded by merged PRs #6, #8, #9, and #12. This branch is stale and conflicts with main due already-integrated changes.

@anand-testcompare anand-testcompare deleted the feat/package-e2e-hardening branch March 5, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant